package modbus_connector

import (
	"go-iot-gateway/internal/conf_table/define"
)

const (
	COILS                   = 1 //读写离散输出区
	DISCRETE_INPUTS         = 2 //读离散输入区
	HOLDING_REGISTERS       = 3 //读写保持寄存器
	INPUT_REGISTERS         = 4 //读输入寄存器
	HOLDING_MUTIL_REGISTERS = 5 //读写多寄存器 0x03/0x10
)

// 根据数据类型,获取寄存器个数
// 一个寄存器 16 位
func GetQuantity(dataType string) uint16 {
	//todo 一个寄存器的字节多少是否要配置
	switch dataType {
	//case conf_table.DATA_TYPE_INT8, conf_table.DATA_TYPE_INT16
	//	return 1
	case conf_table_define.DATA_TYPE_FLOAT32, conf_table_define.DATA_TYPE_BCD32, conf_table_define.DATA_TYPE_INT32, conf_table_define.DATA_TYPE_UINT32:
		return 2
	case conf_table_define.DATA_TYPE_FLOAT64, conf_table_define.DATA_TYPE_UINT64, conf_table_define.DATA_TYPE_INT64:
		return 4
	}
	return 1
}
